﻿using IOA.MES.DataAccess.Enum;
using IOA.MES.DataAccess.VModel;
using System.Collections.Generic;

namespace IOA.MES.ClientApi.Models.Request.Machine
{
    /// <summary>
    /// 过站请求对象
    /// </summary>
    public class ViaSiteRequest
    {
        /// <summary>
        /// 过站类型
        /// </summary>
        public SiteType SiteType { get; set; }

        /// <summary>
        /// 班次ID
        /// </summary>
        public int DutyId { get; set; }

        /// <summary>
        /// 设备ID
        /// </summary>
        public int MachineId { get; set; }

        /// <summary>
        /// 车间内序号
        /// </summary>
        public int MachineIndex { get; set; }

        /// <summary>
        /// 组件条码
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 强制过站
        /// </summary>
        public bool ForceViaSite { get; set; }

        /// <summary>
        /// 层压位置
        /// </summary>
        public string TopPosition { get; set; }

        /// <summary>
        /// 接线盒条码
        /// </summary>
        public string BoxCode { get; set; }

        /// <summary>
        /// 是否锁定
        /// </summary>
        public bool IsLock { get; set; }

        ///<Summary>
        /// 组件等级
        ///</Summary>
        public string QLevel { get; set; }

        ///<Summary>
        /// EL检测结果
        ///</Summary>
        public List<VElResult> ElResults { get; set; } = new List<VElResult>();

        ///<Summary>
        /// 异常原因
        ///</Summary>
        public List<string> BadReasons { get; set; } = new List<string>();

        /// <summary>
        /// 组件类型
        /// </summary>
        public string ComponentType { get; set; }

        /// <summary>
        /// 电池片特性
        /// </summary>
        public string CellFeature { get; set; }

        ///<Summary>
        /// 异常数量
        ///</Summary>
        public int BadCount { get; set; }

        ///<Summary>
        /// 异常坐标
        ///</Summary>
        public string BadCoordinates { get; set; }

        ///<Summary>
        /// 防伪码
        ///</Summary>
        public string VerifyCode { get; set; }

        /// <summary>
        /// 焊接机参数
        /// </summary>
        public List<KeyValuePair<string, string>> WeldingData { get; set; } = new List<KeyValuePair<string, string>>();

        /// <summary>
        /// 层压数据
        /// </summary>
        public List<KeyValuePair<string, string>> TopData { get; set; } = new List<KeyValuePair<string, string>>();

        /// <summary>
        /// IV数据
        /// </summary>
        public List<KeyValuePair<string, string>> IVData { get; set; } = new List<KeyValuePair<string, string>>();

        /// <summary>
        /// 绝缘耐压数据
        /// </summary>
        public VProductViaSiteInsulateData InsulateData { get; set; }

        /// <summary>
        /// 图片列表
        /// </summary>
        public List<string> Images { get; set; } = new List<string>();
    }
}
